Hello tout le monde !
JULIA est un langage de programmation de haut niveau dédié au calcul scientifique et calcul haute performance. C'est un logiciel libre sous "licence MIT":https://github.com/JuliaLang/julia/blob/master/LICENSE.md.
JULIA se veut la combinaison de :
JULIA est jeune à l'échelle de l'âge des langages. On peut voir son activité de développement sous GITHUB, naissance en aôut 2009!
Ce langage possède déjà un grand nombre d'atouts :
Int128
, Float64
...).Les quelques pages qui suivent vont - nous l'espérons- vous guider dans l'usage de JULIA il est possible également de consulter :
Julia est disponible sous tout OS (Mac-linux et Windows) voici la page de téléchargement officielle http://julialang.org/downloads/ A voir également cette page pour des installation plus spécifiques comme sous linux http://julialang.org/downloads/platform.html.
Une fois installé une interface brut de pomme apparait, en fait, une simple console ou REPL pour Read/Evaluate/Print/Loop :
Le prompt julia>
invitant la commande...
Dans la console de JULIA on retrouve l'usage classique d'un terminal avec
pwd()
(affiche le répertoire courant) cd()
(Change directory), homedir()
(pointe sur le home directory)...;
dans la console fait changer le prompt en help("sin")
ou ?sin
le prompt se transformant de nouveau Un programme Julia est un script extension .jl on peut soit l'exécuter en ligne de commande "julia nomfichier.jl" ou en l'incluant
In [ ]:
include("MonFichier.jl")
Toute ligne ou fin de ligne commançant par #
est en commentaire, une bloc est délimité par #=
et =#
:
In [2]:
# commentaire
1+2 #commentaire en fin de ligne
#= un bloc
complet
de commentaires =#
Out[2]:
Il est parfaitement possible de travailler à l'aide d'un éditeur de texte et de la console en parallèle.
Il existe des fichier de configuration pour la coloration syntaxique dans les éditeurs :
Certains offre la possibilité de gérer un terminal dans une fenêtre.
Il n'y a plus actuellement d'interface Julia Studio (équivalent de Rstudio)...
Néanmoins certains éditeurs offrent des extensions qui "intègrent" Julia
Junio est une interface atypique permettant l'évaluation au fur et à mesure du code. Junio est en autocontenu avec l'inclusion de Julia, disponible en télechargement sur la page de Julia http://julialang.org/downloads/
Le notebook est façon de programmer qui permet d'obtenir plus directement un rendu plus web-publiable. La plateforme Jupyter qui héberge les notebooks, offre des possibilités d'interaction supplémentaire avec l'utilisation de widgets...
On peut installer sur sa propre machine une instance de Jupyter (ex iPython) permettant de travailler dans son navigateur. Pour cela il faut installer le package IJulia dans le terminal (REPL) taper "]" :
(v1.1) pkg> add IJulia
using IJulia
notebook()
On peut aussi convertir un fichier notebook (extension .ipynb
) en fichier .jl
(ou autre):
File->Download as
ipython nbconvert --to script nomfichier.ipynb
.Julia possède une communauté très dynamique, à la fois pour développer le coeur du langage mais aussi pour mettre à disposition de nouvelles fonctionnalités qui pour certaines feront partie des prochaines versions de Julia.
Un listing complet des packages officiels et disponible : http://pkg.julialang.org/
Pour installer un package faire "]"
In [ ]:
(v1.1) pkg> add IJuliaNom_du_Package
et il est installé physiquement dans votre espace disque (répertoire .julia/).
L'utilisation se fait en début de chaque programme (ou script par "using"). L'initialisation est assez longue (pour les versions 0.3.xx) le package étant compilé en directe. Depuis la version 0.4 les packages sont compilés (ou pré-compilés) à l'installation ou premier usage et stocké en fichier pour être rechargé plus rapidement ultérieurement.
In [ ]:
using Nom_du_Package
La commande Pkg permet de gérer les actions faire "]"
In [ ]:
(v1.1) pkg> rm Nom_du_Package # rm : remove
(v1.1) pkg>update # comme dit le nom
On verra dans les sections suivantes l'utilisation de quelques packages plus prisés et même jusqu'à la création d'un package !